/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package codigoJava;

import java.sql.SQLException;

/**
 *
 * @author Usuario
 */
public class Producto {
   private String nombre;
   private String descripcion;
   private String categoria;
   private String imagen;
   private double precio;
   private int unidades;

    public int getUnidades() {
        return unidades;
    }

    public void setUnidades(int unidades) {
        this.unidades = unidades;
    }

    public Producto()
    {
        nombre="vacio";
        descripcion="vacio";
        categoria="vacio";
        imagen="vacio";
        precio=0.0;
        unidades=0;
        
    }
    public String getCategoria() {
        return categoria;
    }

    public void setCategoria(String categoria) {
        this.categoria = categoria;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public String getImagen() {
        return imagen;
    }

    public void setImagen(String imagen) {
        this.imagen = imagen;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public double getPrecio() {
        return precio;
    }

    public void setPrecio(double precio) {
        this.precio = precio;
    }
 
    public boolean altaArticulo(GestorBD abd)
    {
        ObjetoBD o = new ObjetoBD();

        o.setTabla("producto");
        o.addCampo("nombre", nombre);
        o.addCampo("descripcion", descripcion);
        o.addCampo("categoria",categoria);
        o.addCampo("imagen", imagen);
        o.addCampo("precio", String.valueOf(precio));
        o.addCampo("unidades",String.valueOf(unidades));
        
        boolean registrado=abd.guardar(o);
        return registrado;
     
    }
    public boolean borrarProducto(GestorBD abd)
    {
        String condicion="nombre='"+this.nombre+"'";
        ObjetoBD o = new ObjetoBD();
        o.setTabla("producto");
        int id= abd.getID("producto", condicion);
        if(id==0)
        {
            return false;
        }
        else
        {
              return abd.borrarPorCondicion(o, condicion);
        }
    
    }
     public boolean comprobarExistencia(GestorBD adb)
    {
        String condicionDeBusqueda = "nombre=" + "\"" + nombre + "\"";
        int id;
        id = adb.getID("producto", condicionDeBusqueda);
        if (id == 0) {
            return false;
        } else {
            return true;
        }
    }
    public Producto consultarProductoPorNombre(GestorBD abd) throws SQLException
    {
        String condicion = "nombre='"+this.nombre+"'";
        Producto [] p = abd.consultarArticulos(condicion);
        return p[0];
    }
    public Producto[] consultarProductos(GestorBD abd, String condicion) throws SQLException
    {
       Producto [] p = abd.consultarArticulos(condicion);
       return p;
    }
    public Producto[] listarProductos(GestorBD abd) throws SQLException
    {
        Producto [] p = abd.listarArticulos();
       return p;
    }
    public void modificarCantidad(GestorBD abd,int cantidad)
    {
        abd.modificarCantidadArticulo(cantidad, nombre);
    }
    public boolean modificarProducto(GestorBD abd) throws SQLException
    {
        return abd.modificarProducto(this);
    }
    
   
    
}
